# 构建阶段
FROM maven:3.8.7-eclipse-temurin-17 AS builder

# 设置工作目录
WORKDIR /build

# 复制pom.xml
COPY pom.xml .

# 下载依赖（利用Docker缓存层）
RUN mvn dependency:go-offline

# 复制源代码
COPY src ./src

# 构建应用
RUN mvn clean package -DskipTests

# 运行阶段
FROM eclipse-temurin:17-jre-jammy

# 设置工作目录
WORKDIR /app

# 创建必要的目录
RUN mkdir -p /app/uploads /app/logs

# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 复制构建产物
COPY --from=builder /build/target/*.jar app.jar

# 设置默认环境变量
#ENV JAVA_OPTS="-Xms512m -Xmx1024m"
# ENV SPRING_PROFILES_ACTIVE="prod"

# 暴露端口
EXPOSE 9090

# 启动命令
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]